The present invention pertains generally to digital image processing and relates more particularly to image processing that embeds inconspicuous identifying or authenticating information known as watermarks into an image and that detects the embedded information. The invention may be incorporated into systems and methods of copyright protection than can embed a watermark into an image that identifies the owner of that image, and can determine whether a suspected object is a copy or modified version of an original image.
The proliferation of computers with increasing computational power has contributed to the growth of digital image processing. Digital images are attractive because they can be copied without concern for image degradation, and because they can be easily modified, enhanced and adapted to provide high-quality images that meet a wide range of application requirements. These characteristics of digital images are also sources of concern for owners of images that wish to protect copyrights in the images or that wish to detect and identify sources of unauthorized copying.
In response to these concerns, there have been attempts to develop ways to embed information into other information or xe2x80x9ccover objectsxe2x80x9d such as images that can identify the owner of the cover object or that can identify the device that was used to produce an unauthorized copy. In particular, there has been considerable effort to develop ways to hide identifying information in images that can be detected for identification purposes, yet is inconspicuous to normal viewing and is resistant to unauthorized attempts to remove it.
On the one hand, the identifying information should be inconspicuous in the sense that it does not visibly alter the image and yet is detectable using appropriate recovery techniques. On the other hand, the identifying information should also be resistant to image processing techniques such as compression, cropping, rotation, translation, scaling, edge enhancement and other types of filtering operations, and should be resistant to processing techniques intended to remove or obscure the embedded information. Unfortunately, these goals conflict with each another.
Two basic types of information hiding techniques have been developed to embed information that is robust and resistant to various types of image processing. One type of technique embeds the information in a spatial or pixel domain. The second type of technique embeds the information in a spectral or frequency domain.
An evaluation tool for information hiding techniques commonly referred to as StirMark is described in Petitcolas, et al., xe2x80x9cAttacks on Copyright Marking Systems,xe2x80x9d Second workshop on information hiding, vol. 1525 of Lecture Notes in Computer Science, April 1998, pp. 218-238. Use of the StirMark tool has shown that each known hiding technique offers some advantages over other techniques but, unfortunately, no known technique is resistant to a sufficiently broad range of image processing techniques. Techniques that are resistant to some types of image processing are vulnerable to others.
What is needed is an information hiding technique that can embed inconspicuous identifying information into an image in a manner that resists unauthorized removal of the information by a wide range of image processing techniques. In this sense, identifying information is considered resistant to removal if image processing degrades the image to an unacceptable level before the identifying information is no longer detectable.
It is therefore an object of the present invention to provide for efficient embedding of information into a cover object such as an image that is inconspicuous yet resistant to removal or alteration by a wide range of signal processing techniques, and for the efficient detection of the embedded information.
According to one aspect of the present invention, a digital input signal comprising signal elements is processed by: identifying a selected patch from a plurality of zero-mean patches, where each zero mean patch comprises an anchor patch element and one or more other patch elements and the average value of all patch elements in a given patch is substantially equal to zero; identifying an anchor signal element corresponding to a selected location within the digital input signal; and processing each patch element of the selected patch with a respective signal element of the digital input signal, wherein the anchor patch element is processed with the anchor signal element and the one or more other patch elements are processed with other respective signal elements.
This digital input signal processing technique may be implemented on an appropriate apparatus, such as a computer system. Moreover, the technique may be embodied in a program of instructions for execution by the computer.
Throughout the disclosure of the present invention, more particular mention is made of cover objects that are images conveyed by digital signals. It is anticipated that the present invention may have greater advantages in image processing applications; however, the principles of the present invention are not limited to images and can be applied to a wide range of cover objects including text and audio.
As mentioned above, the present invention is carried out by processing signals with zero-mean patches. The term xe2x80x9cpatchxe2x80x9d refers to a set of discrete elements that are arranged to suit the needs of each application in which the present invention is used. In image processing applications, the elements of a single patch are arranged to coincide with digital image xe2x80x9cpixelsxe2x80x9d or picture elements. Patch elements may be arranged in essentially any pattern. Throughout the following disclosure, embodiments are discussed in which patch elements are arranged within a square area; however, no particular arrangement of patch elements is critical to the practice of the present invention.
The term xe2x80x9czero-mean patchxe2x80x9d refers to a patch that comprises elements having values the average of which is substantially equal to zero. An average value is substantially equal to zero if it is either exactly equal to zero or differs from zero by an amount that is arithmetically insignificant to the application in which the zero-mean patch is used. A wide variety of zero-mean patches are possible but, by way of example, only a few basic patches with unit magnitude elements are disclosed herein.
The present invention relies on the fact that for a digital signal conveying essentially any meaningful image (which would include natural images as well as synthetic graphics) zero is the expected value of the correlation score for a large number of small zero-mean patches that are located at random locations within the digital signal. The correlation score may be expected to equal zero because, over small regions of a meaningful image, digital signal intensities vary slowly almost everywhere in the image. Signal element or xe2x80x9cpixelxe2x80x9d intensities vary much more quickly at edges appearing in the image; however, for a large number of random locations, the edge contributions to the correlation score can be expected to substantially cancel one another.
The various features of the present invention and its preferred embodiments may be better understood by referring to the following discussion and the accompanying drawings in which like reference numerals refer to like elements in the several figures. The contents of the following discussion and the drawings are set forth as examples only and should not be understood to represent limitations upon the scope of the present invention.